User access control based on handheld device orientation

ABSTRACT

Disclosed is a novel system, computer program product, and method for allowing access to an application on a handheld device. This is also known as logging on or password entry. The method begins with detecting a change in at least one of orientation and position of a handheld device relative to a given plane. At least one of a keyboard, a touch screen, a gesture, and voice recognition engine input is received. Based on a combination of the at least one of orientation and position of the handheld and the user input received matching a previously stored value, unlocking access to an application running on the handheld device. The detecting of the change in orientation or position or both can occur simultaneously with the user input or previous to the user input or after the user input.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims priority from prior U.S.patent application Ser. No. 13/693,994, filed on Dec. 4, 2012, now U.S.Pat. No. ______, the entire disclosure of which is herein incorporatedby reference in its entirety.

BACKGROUND

The present invention relates to user access control to computers, andmore specifically to user access control on a handheld device usingsensors responsive to acceleration or orientation or both.

Handheld devices often times include components which signal a change inposition of the device relative to the earth's gravity. This change oforientation is often used by software executing on the device.

The miniaturization of handheld devices is a challenge. This challengeis especially difficult when miniaturizing user interface devices suchas keyboards. When keyboards become too small, they become difficult touse, especially to users with large hands or the elderly often withlimited finger dexterity.

In computer security, a login or logon refers to the credentialsrequired to obtain access to a computer system or other restricted area,such as an application running on the computer system. The term “loggingin”, “logging on”, “signing in”, or “signing on” is the process by whichindividual access to a computer system is controlled by identifying andauthenticating the user through the credentials presented by the user.Common login processes are a password sometimes used in combination witha username. The miniaturization of user interface on handheld devicesmakes this process difficult.

BRIEF SUMMARY

Disclosed is a novel system, computer program product, and method forallowing access to an application on a handheld device. This is alsoknown as logging on or password entry. The method begins with detectinga change in at least one of orientation and position of a handhelddevice. At least one of a keyboard, a touch screen, a gesture, and voicerecognition engine input is received. Based on a combination of the atleast one of orientation and position of the handheld and the inputreceived matching a previously stored value, unlocking access to anapplication on the handheld device. The detecting of the change inorientation or position or both can occur simultaneously with the userinput or previous to the user input or after the user input.

In one example, the change in orientation is from landscape to portraitand the change in position is shaking within a plane. The amplitude andfrequency of the change in orientation or position may be used todetermine if it meets a previously set threshold. Indicators such asavatars, cursors, and bulls-eye levels can be used to provide feedbackto the user. A virtual keyboard along with a touch screen can be usedfor user input.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying figures where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, and which together with the detailed description below areincorporated in and form part of the specification, serve to furtherillustrate various embodiments and to explain various principles andadvantages all in accordance with the present invention, in which:

FIG. 1 illustrates an example longitudinal or roll axis tilting gesturewith a handheld device;

FIG. 2 illustrates an example longitudinal or roll axis tilting gesturewith a handheld device in a first direction;

FIG. 3 illustrates an example longitudinal or roll axis tilting gesturewith a handheld device in a second direction;

FIG. 4 illustrates an example a shaking gesture with a handheld device;

FIG. 5 illustrates an avatar with changing one or more characteristicspresented on a handheld device;

FIG. 6 illustrates an avatar with changing one or more characteristicsfrom FIG. 5 presented on a handheld device;

FIG. 7 illustrates an avatar with changing one or more characteristicsfrom FIGS. 5-6 presented on a handheld device;

FIG. 8 is a flow diagram of allowing access to an application on ahandheld device using a change in orientation, or a change in position,or both, in combination with other input from the user; and

FIG. 9 is a block diagram of an example handheld device.

DETAILED DESCRIPTION

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The description of the present invention has been presented for purposesof illustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

As required, detailed embodiments are disclosed herein; however, it isto be understood that the disclosed embodiments are merely examples andthat the systems and methods described below can be embodied in variousforms. Therefore, specific structural and functional details disclosedherein are not to be interpreted as limiting, but merely as a basis forthe claims and as a representative basis for teaching one skilled in theart to variously employ the present subject matter in virtually anyappropriately detailed structure and function. Further, the terms andphrases used herein are not intended to be limiting, but rather, toprovide an understandable description of the concepts.

As used herein, a “gesture” is defined as accelerating, repositioning,tilting, shaking, or otherwise moving the handheld device to cause achange of a position of the device itself, as opposed to motions made ona touch screen using a hand, finger, stylus or other object.

A “bull's eye level” is a type of level that allows for leveling ofplanes in two directions. Like a tubular level, a bubble in a liquidmedium is free to move about within an enclosed container. However,unlike a tubular level which permits leveling in only one direction, inthe bull's eye level, the bubble is free to move along both an x and ydirection of a given plane. The bubble, having less density than thesurrounding liquid medium rises to the top of the liquid surface. Thebehavior of the bull's eye level is emulated in a handheld device, usingsensors to determine the orientation of the device relative to theearth's gravity. For example, tilting the handheld device changes alocation of the normalized surface of the simulated liquid, andaccordingly, a cursor moves in a direction to the top of the simulatedliquid surface.

“Orientation” is used to describe a position of the handheld devicerelative to the earth's gravity. A change in the orientation of thedevice changes the cursor or position indicator which is programmed tomodel a bubble in a bull's eye level. In various examples, a deviceorientation is able to be changed by tilting the device by, for example,rotating the device about one or more physical axes.

The term “indicator” is a cursor or other positioning reference and inone example is programmed to model a bubble in a bull's eye level basedon the origination of the handheld device.

A “graphical object” is any text, picture, or combination capable ofbeing displayed on a handheld device. The graphical object comes into“contact” with the indicator when the images overlap or come within apredefined distance of each other. This distance may be settable by auser.

“Characteristic”, such as, a characteristic of an avatar is any visuallyor audibly feature or appearance including a position, a posture,articles of clothing, hair, eye, eye movement, voice, sound, or facialexpression. The purpose of the characteristic is to enable a user tonotice a given state of the avatar.

Axis of rotation in these examples can be any axes of rotation of thehandheld device including a principle axis of rotation along an x, y, orz axis. A longitudinal axis (x), or roll axis, is an axis drawn from theright side of the handheld device to the left of the handheld deviceparallel to the display. A lateral axis, or pitch axis (y), is an axisrunning from the top to bottom side of the handheld device parallel tothe display. A vertical axis (z), or yaw axis, an axis drawn from top tobottom perpendicular to the ground and to the display of the handhelddevice, if the handheld device were held parallel to the ground (e.g.,laying flat on a surface). These principle axes of rotation are shown inFIGS. 1-3.

The term “x-y planar” means movement along a plane typically co-planarto the display of a handheld device as shown in FIG. 4.

With reference to FIGS. 1-3, a handheld device 100 is shown having adisplay 102 upon which an indicator, such as a cursor or an indicator134, may be depicted.

While the handheld device 100 is depicted as a tablet computer, it isimportant to note that other forms of handheld devices may be usedincluding wireless phones, handheld computers; ebook readers; portablecomputers; and laptop computers; or any other handheld device whichrequires or utilizes human input in the form of gestures. The handhelddevice includes a display 102, for example an LCD screen. The handhelddevice is sufficiently light to be held by a single hand of a user 190.

Display 102 displays information and indicia as determined by softwareexecuting upon one or more processors as further described belowassociated with display 102. Shown are three distinct graphic regionsbeing displayed. A first graphic region includes a virtual keyboard 110.In another example a mechanical keyboard or buttons can be used insteadof a virtual keyboard 110. A second graphic is sign-in or logon screen120 showing a username field 124 and password field 122. The secondgraphic is optional and used to provide feedback to a user. A thirdgraphic region 130 is to denote relative positions of the electronicdevice 100. This region is also optional as are its contents. Shown is abulls-eye type level 134 with the indicator 136 that change depending onthe relative position or orientation, or both, of the handheld device100. Each of the features in the third graph region 130 is optional.Using software executing with a processor within handheld device 100,bulls-eye type level 134 is changed based upon a simulation of variousaspects of physics, whereby a virtual floating bubble having movementswhich are similar, at least in part, to a real world floating bubble.More particularly, by imitating behavior of a real world bubble theindicator 134 moving within or relative to the bull-eye type level, auser 190 of handheld device 100, who is naturally familiar with thebehavior of bubbles in liquid, anticipates how cursor 104 moves ashandheld device 100 is tilted. Accordingly, user 190 readily learns andquickly masters this aspect of cursor movement in the use of handhelddevice 100. In another example, and one or more characteristics of theavatar 132 changes with relative position or orientation or keyboardinput, or a combination thereof.

Movement of handheld device 100, including the sensing of accelerationor a change in orientation or angular disposition of handheld device 100relative to the earth is sensed by a sensor further described below.

Herein, a resting or starting angular disposition, or a normalorientation of device 100, is defined to indicate a startingorientation. This starting orientation typically represents acomfortable orientation for both viewing and manipulating the handhelddevice 100 by a user. A normal orientation may represent an orientationor angular disposition of any angle, including an orientation that isflat, perpendicular, or at a fixed angle relative to gravitationalforces. A normal orientation is periodically recalculated, toaccommodate a shift in user position, or passing of the handheld device100 to a different user. An average normal orientation may be calculatedby an observing angle of the handheld device 100 over an amount of time.For example, the normal or resting orientation is determined byaveraging multiple orientation samples during either a brief or extendedtime interval prior to initiating movement of the handheld device 100,or by selecting an actuator such as a button. A simulated liquid upperlevel is normalized relative to the established normal orientation. Inan example, software executing within handheld device 100 enables user190 to establish a normal orientation, accessible through a menu ordisplayed configuration interface, or through a dedicated physicalbutton or hardware control of a calibration menu (not shown).

Establishing a normal orientation calibrates handheld device 100 for abaseline from which subsequent moves are carried out. Calibration mayalso be performed using an option or menu on the display, where movingthe indicator to a predefined region of the display is carried out,independent of an orientation of the handheld device, and a currentorientation of the handheld device as defined as being level within thecurrent orientation.

The indicator or cursor simulating the action of a bubble in a liquidmimics a bull's eye level. The roll (x) tilting of the handheld device100 in FIGS. 1-3 changes a location of the normalized surface of thesimulated liquid, and accordingly, cursor 136 simulating the bubble inthe bull's eye level 134, correspondingly moves in the display 102. Thismovement and new location of the indicator 136 is shown in FIG. 2, wherehandheld device 100 is tilted so that a left side of the handheld device100, as viewed, is lowered relative to a normal orientation of handhelddevice 100. Accordingly, cursor 136 moves right of the bulls-eye level134. Arrows “A” indicate a direction of tilting or rotation of handhelddevice 100, to cause cursor 136 to move right. In FIG. 2, the positionof cursor 136 in the bulls-eye bubble 134 has visibly changed, providinguser feedback, in response to movement of the handheld device 100.

In one example, indicator 136 simulates movement of the bubble in thebull's eye level 134 as if the inside surface of the display 102 was notflat. In this example, the indicator 136 simulates the air bubble in abull's eye level 134 with a convex or concave surface of the display 102to produce a non-linear movement across the display 102.

When handheld device 100 is held horizontal in both a length (y) and awidth (x) axis, such that an axis normal to the screen (z) is vertical,the indicator 136 that simulates movement of the bubble in the bull'seye level 134 moves to the middle of the display 102. If handheld device100 is rotated such that the top of display 102 is raised, and thebottom of display 102 is lowered (i.e. rotated about the x axis), theindicator 136 would move toward the top of display 102. If handhelddevice 100 is rotated such that the left side of handheld device 100 israised and the right side is lowered (i.e. rotated about the y axis),the indicator 136 would move toward the left side of display 102.Likewise, the cursor 104 would move toward the right if the right sideis raised above the left side. The rotational angle of handheld device100 in x,y,z space determines how far the indicator 136 moves away froma middle of the bulls-eye level 134. Compound rotations cause theindicator 136 to move into a quadrant (e.g., either upper left, upperright, lower left or lower right), a distance in both the left right andtop bottom axes proportional to the respective rotations in thosedirections. Simultaneously rotating handheld device 100 about x and zaxes would cause the same effect as rotating it about the x and y axessince, in both cases, the plane of the screen would change such that onecorner would be raised above the others and the corner opposite would belowered below the other corners.

Movement of the indicator 104 may be terminated in a variety of ways,including a combination of methods. In one example, and with referenceto FIG. 3, handheld device 100 has been tilted back to a normal viewingangle, shown by arrow “B”, indicating to software associated withhandheld device 100 that movement of cursor 136 should be stopped. Inanother example, user 190 tilts handheld device 100 in a directionopposite the direction of tilting causing cursor movement, but to alesser extent and for a shorter duration, thereby indicating to softwarethat cursor movement should be stopped or slowed. The extent of tiltingand duration is a predetermined threshold, which may be set, forexample, by the user. Alternatively, the threshold may be preset basedon characteristics of the handheld device 100. Subsequent tiltingmotions may then be employed to once again cause movement and adjustmentof a position of cursor 136. Referring to FIGS. 2 and 3, a single arrow“B” is illustrated, relative to the double arrow “A”, to indicate theextent of tilting for arrow “B” may be less than an extent or rate oftilting for arrow “A”, in order to terminate movement.

In a further example, the indicator 136 movement within the bulls-eyelevel 134 does not begin until handheld device 100 is triggered orenabled for cursor 136 movement within the bulls-eye level 134, forexample by tilting handheld device 100 at a rotational angle that ischanged relative to a normal angle. More particularly, a change from anormal angle, along any axis, of more than a particular minimumrotational angle, triggers initiation of cursor 136 movement within thebulls-eye level 134. Once the indicator 136 movement begins, handhelddevice 100 may then be tilted to or rotated to an angle which wouldcause the indicator 136 movement to imitate the rate and direction ofthe bubble in the bull's eye level 134.

In yet another example, movement of the indicator 136 within thebulls-eye level 134 is triggered by pressing a physical button. Thephysical button 150 is disposed on the exterior of handheld device 100.Another example is pressing a “soft” button such as an icon on display102 or executing a cursor click upon display 102. Other commands,including voice commands to handheld device 100, may be used as well.Alternatively, cursor 136 movement within the bulls-eye level 134 may beinitiated or terminated by shaking the handheld device 100, discussedfurther below.

In a further example, movement of the indicator 104 may be terminated byrotating or tilting handheld device 100 to an orientation past a normalorientation in a direction opposite to, or away from, the direction ofcursor movement. Alternatively, movement of handheld device 100 in ashaking motion in a z axis perpendicular to the geometric plane of thedisplay 102 may initiate or terminate the indicator 136 movement withinthe bulls-eye level 134. The viscosity of the simulated liquid,resulting in a corresponding behavior of the indicator 104, isdetermined, for example, by user's settings in the software. As anexample, the response rate of the indicator 136 may be adjustable by theuser, to simulate a lower viscosity for faster indicator 136 movement,or a higher viscosity for slower indicator 136 movement.

While the indicator 136 has the form of a bubble in a liquid in theillustrations, it should be understood that the indicator 136 may haveany appearance, for example a pointer, cross-hairs, or any known cursorshape, and may have either a two or three dimensional appearance, whileoperating in a manner similar to that described above.

In addition to moving the indicator 136 through rotating, tilting,flicking, shaking, dragging, or any other method mentioned herein, theindicator 136 may additionally be moved, and objects selected, throughthe use of a trackpad, trackball, optical navigation mouse, joystick,touchscreen, or any other human interface device or combination thereof.

Acceleration of the indicator 136 corresponds to an acceleration ofhandheld device 100. The correlation may be direct, proportional inmagnitude, or related in accordance with a mathematical formula, forexample an extent of rotation or tilting. Similarly, movement of theindicator 136 may correlate with a magnitude of acceleration of handhelddevice 100. A combination of acceleration and orientation, and/or a rateof each attribute, for example a speed and/or extent of tilting duringacceleration, may produce a unique result relative to eitheracceleration or orientation alone. One advantageous result iscontrolling a rate of cursor 136 movement during a tilting gesture.

FIG. 4 illustrates an example of a shaking gesture with a handhelddevice 100. In this example the handheld device 100 is held horizontalin both a length (y) and a width (x) axis, such that an axis normal tothe screen (z) is vertical. The user shakes the handheld device 100,first to the right and then to the left as shown by Arrow “D”. In thisexample, the shaking substantially within the x-y plane the indicator136 in the bull's eye level 134 would be stationary or move very little.The exact profile of the shaking gesture can include a user definedthreshold for amplitude, frequency, or both.

Turning to FIGS. 5-7, shown is an avatar 502 with changingcharacteristics presented on a handheld device 100. The avatar 502 inFIG. 5 has her right hand 532 lower that her left hand 534, her eyes 520looking toward her left, and a red hat 520. Continuing further, theavatar 504 has her right hand 532 and her left hand 534 at almost thesame height, her eyes 522 looking straight forward, and a yellow hat522. The avatar 514 in has her right hand 532 and her left hand 534 atalmost the same height, her eyes 520 looking toward straight forward,and a yellow hat 520. Continuing still further, the avatar 506 has herright hand 532 higher than her left hand 534, her eyes 523 lookingtowards her left, and a blue hat 514. Although multiple differentcharacteristics of the avatar 502, 504, 506 are described and shown,only one characteristic may change at a time.

FIG. 8 is a flow diagram of allowing access to an application on ahandheld device using a change in orientation, or a change in position,or both, in combination with other input from the user. The processstarts in step 802 and immediately determines a change in deviceorientation, or a change in position, or both. Upon a detecting a changein device orientation, or a change in position, or both, the rate ofchange in orientation or position is or both is measured in step 808. Ifthe is not above a predetermined threshold in step 808, the processloops back to step 804. The predetermined threshold can be set by theuser through a settings program, or preferable when the recording acombination of change in orientation or position is or both, incombination with the user input when setting up the access or password.The purpose of the threshold is to filter out any orientation andpositional changes of the handheld device that may be a result of normaluse as opposed to logging in with a password. For example rotating over70 degrees about an axis would above a threshold i.e. rotating fromportrait to landscape or vice-versa, however, below this threshold wouldbe ignored for the purpose of gaining access to an application.

Once a change in orientation or position is or both above apredetermined threshold two parallel paths are followed. The first pathis step 810 to compare orientation or position is or both of thehandheld device. If a match to a previously stored value is identified,the process continues to step 818. Otherwise, a match is not found theprocess loops back to step 804. The second path is step to compare keysequence 814. If a match to a previously stored value is identified, theprocess continues to step 818. Otherwise, a match is not found theprocess loops back to step 804. In step 818 when both a match to aninput sequence from step 816 and a match to orientation or position isor both from step 812, then access to an application is granted. Theapplication can be a logon application, access to a media file,unlocking the handheld device, or any other application need userauthentication.

Although the process flow for steps 810, 812 and 814, 816 are shown inparallel, in one embodiment, the comparisons do not happensimultaneously but rather sequentially. For example, rotate a handhelddevice from a portrait to a landscape mode following by user input of akeyboard entry, voice entry or touch screen gesture. In anotherembodiment, the user input happens prior to the change in theorientation or position is or both of the device. While in anotherexample, they happen substantially simultaneously.

Table I illustrates various combinations of changes in orientation orposition is or both of the handheld device, along with user input types,indicator type, and timing. In a first example a user may have setup anorientation from landscape-to-portrait along with a key sequence toallow user access to an application. The timing whether the rotation andinput occurs simultaneously or sequentially is not differentiated toenable access. Sequentially could be rotating first and then followed bykeyboard input or vice versa.

In a second example, shaking the handheld device in a plane followed-byvoice input with a bulls-eye level is used for access to an application.Sequentially could be defined as first shaking followed by voice inputor vice versa.

In a third example, rotating the handheld device about a given axis anda button press is used to provide access to an application. Again,sequentially could be defined as first shaking followed by voice inputor vice versa. To setup one of these examples, the user may go through asettings page or enter logon information in which the specificorientation/position, input, indicator and timing is recorded. When thepreviously recorded orientation/position and input are matched, useraccess to an application is granted.

TABLE I ORIENTATION/POSITION INPUT INDICATOR TIMINGLandscape-to-Portrait Key Avatar Any Sequence Shaking In A Plane VoiceBulls-Eye Sequentially Rotating About An Axis Button None SequentiallyMotion . . . . . . . . . . . .

FIG. 9 is an example handheld device 900 that includes two-way wirelesscommunications functions. Such handheld devices incorporatecommunication subsystem elements such as a wireless transmitter 910, awireless receiver 912, and associated components such as one or moreantenna elements 914 and 916. A digital signal processor (DSP) 908performs processing to extract data from received wireless signals andto generate signals to be transmitted. The particular design of thecommunication subsystem is dependent upon the communication network andassociated wireless communications protocols with which the device isintended to operate.

The handheld device 900 includes a microprocessor 902 that controls theoverall operation of the handheld device 952. The microprocessor 902interacts with the above described communications subsystem elements andalso interacts with other device subsystems such as non-volatile orflash memory 906, random access memory (RAM) 904, auxiliary input/output(I/O) device 938, data port 928, display 934, keyboard 936, speaker 932,microphone 930, a short-range communications subsystem 920, a powersubsystem 922, and or any other device subsystems.

One or more sensors 982 are incorporated into or coupled with handhelddevice. The sensor 982 is operative to sense such movement by anysensing device currently known and understood within the relevant art,or hereinafter invented. Examples of sensor 982 include one or moreaccelerometers, G-force meter, gravimeter, gradiometer, inclinometer,clinometer, tiltmeter, micro electro-mechanical system (MEMS), compass,or the like, using any known technology, including liquid capacitive,piezoelectric, piezoresistive, piezoceramic, or other technologycurrently known and understood within the relevant art, or hereinafterinvented. Such devices or technology enable the conversion of movementinformation to an electric signal that is interpreted by microprocessor902.

Pairs or triplet combinations, or bi-axial or tri-axial implementationsof sensor 982 may are used for detecting movement in two or threedimensions. Sampling rates of sensor 982 are selected to balance costand other factors, with a requirement for the perception ofresponsiveness and smooth movement desired for a user. One or moreaccelerometers may provide information regarding a rate of speed oracceleration of a handheld device, and may also provide informationpertaining to orientation of the handheld device 900, as well.Algorithms or software which may be executed by microprocessor 902, forconverting spatial, coordinate, or other reference information embeddedwithin such electric signal, to an angular orientation of the sensingdevice and/or an orientation of a device into which the sensing deviceis connected or associated, is understood by one skilled in the relevantart.

A battery 924 is connected to a power subsystem 922 to provide power tothe circuits of the handheld device 952. The power subsystem 922includes power distribution circuitry for providing power to thehandheld device 900 and also contains battery charging circuitry tomanage recharging the battery 924. The power subsystem 922 includes abattery monitoring circuit that is operable to provide a status of oneor more battery status indicators, such as remaining capacity,temperature, voltage, electrical current consumption, and the like, tovarious components of the electronic handheld 900.

The data port 928 is able to support data communications between thehandheld device 900 and other devices through various modes of datacommunications, such as high speed data transfers over opticalcommunications circuits or over electrical data communications circuitssuch as a USB connection incorporated into the data port 928 of someexamples. Data port 928 is able to support communications with, forexample, an external computer or other device.

Data communication through data port 928 enables a user to setpreferences through the external device or through a softwareapplication and extends the capabilities of the device by enablinginformation or software exchange through direct connections between thehandheld device 952 and external data sources rather then via a wirelessdata communication network. In addition to data communication, the dataport 928 provides power to the power subsystem 922 to charge the battery924 or to supply power to the electronic circuits, such asmicroprocessor 902, of the handheld device 900.

Operating system software used by the microprocessor 902 is stored inflash memory 906. Further examples are able to use a battery backed-upRAM or other non-volatile storage data elements to store operatingsystems, other executable programs, or both. The operating systemsoftware, device application software, or parts thereof, are able to betemporarily loaded into volatile data storage such as RAM 904. Datareceived via wireless communication signals or through wiredcommunications are also able to be stored to RAM 904.

The microprocessor 902, in addition to its operating system functions,is able to execute software applications on the handheld device 900. Apredetermined set of applications that control basic device operations,including at least data and voice communication applications, is able tobe installed on the handheld device 900 during manufacture. Examples ofapplications that are able to be loaded onto the device may be apersonal information manager (PIM) application having the ability toorganize and manage data items relating to the device user, such as, butnot limited to, e-mail, calendar events, voice mails, appointments, andtask items.

Further applications may also be loaded onto the handheld device 900through, for example, the wireless network 950, an auxiliary I/O device938, data port 928, short-range communications subsystem 920, or anycombination of these interfaces. Such applications are then able to beinstalled by a user in the RAM 904 or a non-volatile store for executionby the microprocessor 902.

In a data communication mode, a received signal such as a text messageor web page download is processed by the communication subsystem,including wireless receiver 912 and wireless transmitter 910, andcommunicated data is provided the microprocessor 902, which is able tofurther process the received data for output to the display 934, oralternatively, to an auxiliary I/O device 938 or the data port 928. Auser of the handheld device 952 may also compose data items, such ase-mail messages, using the keyboard 936, which is able to include acomplete alphanumeric keyboard or a telephone-type keypad, inconjunction with the display 934 and possibly an auxiliary I/O device938. Such composed items are then able to be transmitted over acommunication network through the communication subsystem.

For voice communications, overall operation of the handheld device 900is substantially similar, except that received signals are generallyprovided to a speaker 932 and signals for transmission are generallyproduced by a microphone 930. Alternative voice or audio I/O subsystems,such as a voice message recording subsystem, may also be implemented onthe handheld device 900. Although voice or audio signal output isgenerally accomplished primarily through the speaker 932, the display934 may also be used to provide an indication of the identity of acalling party, the duration of a voice call, or other voice call relatedinformation, for example.

Depending on conditions or statuses of the handheld device 900, one ormore particular functions associated with a subsystem circuit may bedisabled, or an entire subsystem circuit may be disabled. For example,if the battery temperature is low, then voice functions may be disabled,but data communications, such as e-mail, may still be enabled over thecommunication subsystem.

A short-range communications subsystem 920 provides for datacommunication between the handheld device 952 and different systems ordevices, which need not necessarily be similar devices. For example, theshort-range communications subsystem 920 includes an infrared device andassociated circuits and components or a Radio Frequency basedcommunication module such as one supporting Bluetooth® communications,to provide for communication with similarly-enabled systems and devices,including the data file transfer communications described above.

A media reader 960 is able to be connected to an auxiliary I/O device938 to allow, for example, loading computer readable program code of acomputer program product into the handheld device 900 for storage intonon-volatile memory such as flash memory 906. One example of a mediareader 960 is an optical drive such as a CD/DVD drive, which may be usedto store data to and read data from a computer readable medium orstorage product such as computer readable storage media 962. Examples ofsuitable computer readable storage media include optical storage mediasuch as a CD or DVD, magnetic media, or any other suitable data storagedevice. Media reader 960 is alternatively able to be connected to theelectronic device through the data port 928 or computer readable programcode is alternatively able to be provided to the handheld device 900through the wireless network 950.

Although specific examples of the subject matter have been disclosed,those having ordinary skill in the art will understand that changes canbe made to the specific examples without departing from the spirit andscope of the disclosed subject matter. The scope of the disclosure isnot to be restricted, therefore, to the specific examples, and it isintended that the appended claims cover any and all such applications,modifications, and examples within the scope of the present disclosure.

What is claimed is:
 1. A non-transitory computer program storage productfor allowing access to a user of a handheld device, the computer programstorage product comprising instructions configured to perform a methodcomprising: detecting a change of at least one of orientation andposition of a handheld device relative to a given plane; receiving inputfrom at least one of a keyboard, a touch screen, a gesture, and voicerecognition engine; and based on a combination of the at least one oforientation and position of the handheld and the input received matchinga previously stored value, unlocking access to an application running onthe handheld device.
 2. The non-transitory computer program storageproduct of claim 1, wherein the detecting a change in at least one oforientation and position of a handheld device includes rotating thedisplay between a landscape and portrait position, and wherein thereceiving input includes receiving input after rotating the display. 3.The non-transitory computer program storage product of claim 1, furthercomprising: displaying a first indicator upon a display of the handhelddevice; moving the first indicator across the display relative to asecond indicator, in response to the change in one of orientation andposition of the handheld device relative to a given plane; anddetermining when the first indicator corresponds to an orientation valuewhich is within a threshold of a password orientation value for a periodof time.
 4. A system for allowing access to a user of a handheld device,the system comprising: a memory; a processor communicatively coupled tothe memory, where the processor is configured to perform detecting achange in at least one of orientation and position of a handheld devicerelative to a given plane; receiving input from at least one of akeyboard, a touch screen, a gesture, and voice recognition engine whilechanging the at least one of orientation and position of the handhelddevice relative to a given plane; and based on a combination of the atleast one of orientation and position of the handheld and the inputreceived matching a previously stored value, unlocking access to anapplication running on the handheld device.
 5. The system of claim 4,wherein the detecting a change in at least one of orientation andposition of a handheld device includes rotating the display between alandscape and portrait position, and wherein the receiving inputincludes receiving input after rotating the display.
 6. The system ofclaim 4, further comprising: displaying a first indicator upon a displayof the handheld device; moving the first indicator across the displayrelative to a second indicator, in response to the change in one oforientation and position of the handheld device relative to a givenplane; and determining when the first indicator corresponds to anorientation value which is within a threshold of a password orientationvalue for a period of time.
 7. The system of claim 4, furthercomprising: displaying an avatar upon a display of the handheld device;and updating at least one characteristic of the avatar in response tothe input received.
 8. The system of claim 7, wherein the updating theat least one characteristic of the avatar in response to the inputreceived, includes updating at least one characteristic of clothing,hair, eyes, gesture, position, and posture.
 9. The system of claim 7,wherein the unlocking access to the application running of the handhelddevice includes unlocking access to the application running on thehandheld device based on the at least one characteristics of the avatar.